Let's read the contents of the web page and look for the cells

Now if we make the indexes the same for the two dataframes we will have the new columns automatically take on the correct values for the postal codes.

Now it's time to group the neighbourhoods according to their venues (shops and parks and so on)

First we will get a general feel for Toronto by plotting all the areas on a Toronto map

Now we need to get the venues close to the areas

The following code will take the coordinates, and call Foursquare to see what venues in a 1300m radius.

Now we will fill a new dataframe with the venue data

Now let's map the venues on the Toronto map to make sure we have a good spread

Now let's count all of the venues by neighbourhood

We need to take all the types of venues and turn them into dummy variables

Now let's group the neighborhoods according to the similar venues in that group

After testing several numbers of clusters it was found that 10 clusters gave a good distribution